Class Store<TValue, TValueType, TWriteValue>
Base class for store instructions.
Assembly: WaaS.Core.dll
Declaration
public abstract class Store<TValue, TValueType, TWriteValue> : Instruction where TValue : unmanaged where TValueType : struct, IValueType<TValue> where TWriteValue : unmanaged
Inheritance: System.Object
-> WaaS.Models.Instruction
Derived:
WaaS.Models.StoreI32AsU16, WaaS.Models.StoreI32AsU8, WaaS.Models.StoreI64AsU16, WaaS.Models.StoreI64AsU32, WaaS.Models.StoreI64AsU8, WaaS.Models.Store<TValue, TValueType>
Properties
Align
View Source
Declaration
public uint Align { get; }
Offset
View Source
Declaration
public uint Offset { get; }
Methods
Convert(in TValue)
View Source
Declaration
protected abstract TWriteValue Convert(in TValue value)
Returns
<TWriteValue>
Parameters
Type | Name |
---|---|
<TValue> | value |
Execute(WasmStackFrame)
Executes the instruction.
View Source
Declaration
public override void Execute(WasmStackFrame current)
Parameters
Type | Name |
---|---|
WaaS.Runtime.WasmStackFrame | current |
Validate(in ValidationContext)
Validates the instruction.
View Source
Declaration
public override void Validate(in ValidationContext context)
Parameters
Type | Name |
---|---|
WaaS.Models.ValidationContext | context |
PreValidateStackState(in ValidationContext)
Get the number of values to pop and push from the stack to validate stack depth.
View Source
Declaration
public override (uint popCount, uint pushCount) PreValidateStackState(in ValidationContext context)
Returns
System.ValueTuple<System.UInt32,System.UInt32>
Parameters
Type | Name |
---|---|
WaaS.Models.ValidationContext | context |
ValidateStackState(in ValidationContext, ref ValidationBlockStackState)
Simulates stack operations to validate the stack state.
View Source
Declaration
public override void ValidateStackState(in ValidationContext context, ref ValidationBlockStackState stackState)
Parameters
Type | Name |
---|---|
WaaS.Models.ValidationContext | context |
WaaS.Models.ValidationBlockStackState | stackState |